﻿using System.Xml.Serialization;

namespace Bpmn.Xml;

/// <remarks/>
[XmlInclude(typeof(CallableElement))]
[XmlInclude(typeof(CancelEventDefinition))]
[XmlInclude(typeof(Category))]
[XmlInclude(typeof(Choreography))]
[XmlInclude(typeof(Collaboration))]
[XmlInclude(typeof(CompensateEventDefinition))]
[XmlInclude(typeof(ConditionalEventDefinition))]
[XmlInclude(typeof(CorrelationProperty))]
[XmlInclude(typeof(DataStore))]
[XmlInclude(typeof(EndPoint))]
[XmlInclude(typeof(Error))]
[XmlInclude(typeof(ErrorEventDefinition))]
[XmlInclude(typeof(Escalation))]
[XmlInclude(typeof(EscalationEventDefinition))]
[XmlInclude(typeof(EventDefinition))]
[XmlInclude(typeof(GlobalBusinessRuleTask))]
[XmlInclude(typeof(GlobalChoreographyTask))]
[XmlInclude(typeof(GlobalConversation))]
[XmlInclude(typeof(GlobalManualTask))]
[XmlInclude(typeof(GlobalScriptTask))]
[XmlInclude(typeof(GlobalTask))]
[XmlInclude(typeof(GlobalUserTask))]
[XmlInclude(typeof(Interface))]
[XmlInclude(typeof(ItemDefinition))]
[XmlInclude(typeof(LinkEventDefinition))]
[XmlInclude(typeof(Message))]
[XmlInclude(typeof(MessageEventDefinition))]
[XmlInclude(typeof(PartnerEntity))]
[XmlInclude(typeof(PartnerRole))]
[XmlInclude(typeof(Process))]
[XmlInclude(typeof(Resource))]
[XmlInclude(typeof(Signal))]
[XmlInclude(typeof(SignalEventDefinition))]
[XmlInclude(typeof(TerminateEventDefinition))]
[XmlInclude(typeof(TimerEventDefinition))]
[Serializable]
[XmlType(Namespace = "http://www.omg.org/spec/BPMN/20100524/MODEL", TypeName = "tRootElement")]
[XmlRoot("rootElement", Namespace = "http://www.omg.org/spec/BPMN/20100524/MODEL", IsNullable = false)]
public abstract partial class RootElement : BaseElement
{
}
